import Config from './config.js';
import Notice from './notice.js';
import base from './base.js';
import DB from './db.js';
import Logger from './logger.js';
import { parallel } from 'async';
import Signal from './signal.js';
import predict from './predict.js'

export default {
  DB,
  Logger,
  Config,
  predict: predict.queuePredict,
  Notice,
  ...base,
  MultiSymbolSignalEngine: Signal.MultiSymbolSignalEngine,
  parallel: (tasks) => new Promise((resolve, reject) => parallel(tasks, (err, results) => {
    if (err) {
      reject(err);
    } else {
      resolve(results);
    }
  })),
};
